package com.wuyi.tea.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
 
    // 管理端的测试文档
    @Bean(value = "adminDocket")
    public Docket adminDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("测试管理端接口文档")		// 设置当前文档的标题
                        .description("用于测试管理端的所有接口的文档")		//自定义文档简介
                        .termsOfServiceUrl("写人员的服务地址URL")	//写这个模块功能的程序员相关的URL
                        .contact("3079314177@qq.com")		//写这个模块功能的程序员的email邮箱
                        .version("1.0")	//指定当前文档的版本
                        .build())
                //分组名称
                .groupName("管理端")		//设置当前组名称
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.wuyi.tea.controller.admin"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
 
	// user组的测试文档
    @Bean(value = "userDocket")
    public Docket userDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("用户端接口文档")
                        .description("用于测试用户端所有接口的文档")
                        .termsOfServiceUrl("写人员的服务地址URL")
                        .contact("3079314177@qq.com")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("用户端")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.wuyi.tea.controller.user"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

    // 通用模块的测试文档
    @Bean(value = "commonDocket")
    public Docket commonDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("通用模块接口文档")
                        .description("用于测试通用模块所有接口的文档")
                        .termsOfServiceUrl("写人员的服务地址URL")
                        .contact("3079314177@qq.com")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("通用模块")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.wuyi.tea.controller.common"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

//
//    // 茶友圈模块的测试文档
//    @Bean(value = "teaFriendChatDocket")
//    public Docket teaFriendChatDocket() {
//        Docket docket=new Docket(DocumentationType.SWAGGER_2)
//                .apiInfo(new ApiInfoBuilder()
//                        .title("茶友圈模块接口文档")
//                        .description("用于测试茶友圈模块所有接口的文档")
//                        .termsOfServiceUrl("写人员的服务地址URL")
//                        .contact("3079314177@qq.com")
//                        .version("1.0")
//                        .build())
//                //分组名称
//                .groupName("茶友圈模块")
//                .select()
//                //这里指定Controller扫描包路径
//                .apis(RequestHandlerSelectors.basePackage("com.wuyi.tea.controller.tea_friend_chat"))
//                .paths(PathSelectors.any())
//                .build();
//        return docket;
//    }

}